package com.fy.proj5_permission_transaction_cache.mapper;

import com.fy.proj5_permission_transaction_cache.model.Permission;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface PermissionMapper {
    // 查询所有权限
    List<Permission> findAll();
    
    // 根据ID查询权限
    Permission findById(@Param("id") Long id);
    
    // 根据编码查询权限
    Permission findByCode(@Param("code") String code);
    
    // 添加权限
    int insert(Permission permission);
    
    // 更新权限
    int update(Permission permission);
    
    // 根据ID删除权限
    int deleteById(@Param("id") Long id);
    
    // 根据角色ID查询权限
    List<Permission> findPermissionsByRoleId(@Param("roleId") Long roleId);
    
    // 根据用户ID查询权限
    List<Permission> findPermissionsByUserId(@Param("userId") Long userId);
}